Image Data Transmission Apparatus and Method for Image Display System

ABSTRACT

An image display system comprises: a transmission device (PC), for transmitting image data upon receiving a drawing command from an OS or an application; and a receiving monitor, for displaying, on a high-resolution panel, image data received via a monitor cable, wherein the transmission device includes a drawing command analysis device, for detecting an area on a screen wherein the content is changed by the drawing command, and for employing the detected area to calculate an area to be transmitted, and a graphics card, for transmitting a packet that includes the calculated area to be transmitted, and control data provided as header data for the area to be transmitted, and wherein the receiving monitor includes a packet reception device, for analyzing the header data in the received packet and for, based on the header data, rendering image data in an internally provided frame memory.

CROSS-REFERENCE TO RELATED APPLICATIONS

This is a divisional application of U.S. patent application Ser. No.11/635,394 filed on Dec. 6, 2006, now allowed. The prior applicationSer. No. 11/635,394 is a continuation of U.S. patent application Ser.No. 10/471,071 filed on Sep. 5, 2003, now U.S. Pat. No. 7,187,372, whichis a national stage application of International Patent Application No.PCT/GB02/00934 filed on Mar. 5, 2002. International Patent ApplicationNo. PCT/GB02/00934 claims priority to Japanese patent application no.2001-062571.

FIELD OF THE INVENTION

The present invention relates to an image transfer system, fordisplaying an image on a display panel, and more particularly to animage transfer system, etc., for enabling, with a small change, thedisplay of an image on a high resolution, high image quality displaypanel.

BACKGROUND ART

Generally, image data for displaying an image is processed by thegraphics controller of a host apparatus, a personal computer (PC), andthe resultant image data is transmitted to a display device. For a CRT,which currently is the main device used as a monitor (panel), UXGA(Ultra Extended Graphics Array) (1600.times.1200 dots) is the preeminentavailable image size. With this image size, a conventional graphicscontroller that outputs raster data can easily display an image, andonly one monitor cable is required for the transmission of the imagedata.

As the development of display devices, such as liquid crystal displays(LCDs), has progressed, however, great differences have appeared in theprocessing capabilities of host apparatuses and display devices. Forexample, the display resolutions available with QXGA (Quad ExtendedGraphics Array) (2048.times.1536 dots) capable displays have recentlybeen surpassed by those of large, higher-resolution monitors (panels),e.g., the high-resolution (super high resolution) QSXGA (Quad SuperExtended Graphics Array) (2560.times.2048 dots) and QUXGA (Quad UltraExtended Graphics Array) (3200.times.2400 dots) monitors, but whilethese super high resolution monitors are gradually reaching the pointwhere they can be used for practical applications, system power andgraphic controller capabilities have not kept pace and can not use thesuper high resolution monitors to present satisfactory displays. Thatis, at present, driving one of the above described monitors is difficultfor a conventional graphics system comprising a set consisting of amonitor cable and a raster transfer graphics card, which is availableand will, undoubtedly, continue to be employed.

With one large high-resolution monitor driving method, multiple sets ofgraphics cards and cables are prepared, and not only is the monitorchanged but also an OS or a driver, so that a single raster input panelis handled as multiple raster input panels. However, according to thismethod, since the number of graphics cards that can be mounted on a PCis limited physically, it is difficult for drawing engines mounted onthe individual graphics cards to be operated synchronously. As a result,not only is it difficult to provide a satisfactory image quality for afull-screen display for a moving picture, but also it is difficult to dothis for a limited application, such as DTP (Desk Top Publishing). Inaddition to the image quality problem, for system configuration largeinvestments will be required of graphics card and monitor makers, and ofusers.

Another method has been studied whereby a frame memory is mounted on ahigh-resolution panel or a monitor connection device that is positionedbetween a high-resolution panel and a host apparatus. When a framememory is provided for a monitor, a specific drawing command is notprocessed by the host, and before image data is rendered it istransmitted to the monitor whereby it is translated to perform drawing.Thus, the amount of data to be transmitted can be reduced. One furthersystem has been studied that is connected via a network to a clientmonitor, for example, such as a PC that includes a central processingunit, a communication device and a drawing device, and that outputs, tothe client monitor, the results of an application executed by a server.Since this system can considerably reduce the amount of data that mustbe transmitted along a communication path constituted by a network,ethernet can be selected for use as a communication path.

As is described above, when frame memories are provided for monitors,displays on high-resolution panels are enabled, even when there are nodrastic improvements in the functions provided hosts. However, thecurrent techniques require that monitors function the same as commonPCs. Thus, when the level of the functions (the same functions as PCs)required of monitors can be reduced, costs can be reduced considerably.Especially when compatibility with currently employed raster monitorscan be obtained and conventional graphics raster transfer systems can beemployed, high-resolution panels can be easily driven without additionalexpensive investments being required, and it can be further expectedthat large, high-resolution panels will be widely used.

To resolve the above described technical problems, it is one object ofthe present invention to drive a large, high-resolution monitor (panel)merely by making an extremely small change to a conventional system.

It is another object of the present invention to drive, within a limitedtransfer band, a large, high-resolution monitor that conventionallycannot be supported.

SUMMARY OF THE INVENTION

To achieve the above objects, according to one aspect of the presentinvention, a delta transmission system is employed wherein a framememory is incorporated in an image receiving monitor, and a transmissionsource transmits only delta information. Specifically, an image displaysystem according to the present invention comprises: a transmissiondevice, for transmitting image data based on a predetermined drawingcommand issued by an OS or an application; and a reception monitor, fordisplaying received image data on a high-resolution panel, wherein thetransmission device includes area detection means, for detecting an areawherein a change occurs on a screen in accordance with the drawingcommand, transmission target area calculation means, for calculating,based on the detected area, a target area to be transmitted, and packettransmission means, for transmitting a packet including the target areathat is obtained and control data for the target area as header data,and wherein the receiving monitor includes analysis means, for analyzingthe control data received from the received packet, a frame memory, forrendering image data based on the analyzed control data, and displaymeans, for displaying, on a high-resolution panel, the image datarendered in the frame memory.

Regardless of whether a change occurs on the screen, the packettransmission means repetitively transmits a packet including the samescreen data. For example, if the image is periodically output to thescreen, regardless of whether a drawing command is issued, thisarrangement is preferable because a transfer error can be recovered.

According to another aspect of the invention, an image data transmissionapparatus comprises: drawing area detection means, for analyzing adrawing command issued by an OS or an application and for detecting anarea wherein drawing is performed; rectangular area calculation means,for calculating, based on the detected area, a rectangular area to betransmitted to a monitor; and packet transmission means, fortransmitting a packet including the obtained rectangular area andcontrol data for the rectangular area as header data.

The rectangular area obtained by the rectangular area calculation meansis an area that encloses multiple areas that are changed. Thisarrangement is superior because when the area to be transmitted ischanged the overhead can be reduced. Further, a display priority levelfor image data is determined, and image data having a high prioritylevel is first transmitted, while image data having a low priority levelis transmitted only in a full screen update mode, for example, forupdating the full screen.

The packet transmission means can employ a hardware panning functionprovided for a graphics card for reading image data from a frame memory,and for transmitting the image data, and can transmit only a rectangulararea obtained by the rectangular area calculation means. The hardwarepanning function changes the setting of a controller (CRT controller)for reading data from a specific location in a frame memory.

Further, the packet transmission means can employ a hardware cursorfunction provided for a graphics card, and can transmit a packetincluding control data and a rectangular area. This hardware cursorfunction stores cursor data in the undisplayed area of the frame memory,and reads and synthesizes the cursor data when the image data is read.In this invention, control data, such as header data, is written insteadof the cursor image data.

According to one more aspect of the invention, an image datatransmission apparatus comprises: a drawing command analysis device, foranalyzing a drawing command and for detecting an area wherein drawinghas occurred; and a graphics card, for transmitting image data to areceiving monitor, wherein the drawing command analysis device includesa drawing command analysis unit, for determining whether a changeoccurred on a screen upon the reception of a drawing command, and foroutputting drawing data, a transmission target area controller, foroutputting, upon receiving the drawing data, area data to betransmitted, and a graphics device driver, for outputting to a graphicscard, based on the area data, a drawing command and control data.

The graphics card includes: a frame memory; a drawing engine, forrendering image data for the frame memory, and a controller, fortransmitting, to the receiving monitor, image data rendered in the framememory, wherein the controller reads image data from the frame memorybased on control data that is output by the graphics device driver, andtransmits, to the receiving monitor, image data located in an areacorresponding to the area data.

According to a further aspect of the invention, an image display devicecomprises: a packet analysis unit, for extracting header data from areceived packet; a header analysis unit, for identifying, based on theheader data, the location of a frame memory whereat image data iswritten; and a panel controller, for reading the image data from theframe memory, and for displaying the image data on a panel at a locationobtained by the analyzation. This is a high-resolution panel (e.g., apanel having a resolution exceeding that of a QXGA (Quad ExtendedGraphics Array) (2048.times.1536 dots) panel for a DVI (Digital VisualInterface) cable) for which, to display image data in a raster form, theamount of data transmitted exceeds the capacity of a cable along which apacket is transmitted by a transmission device, and display quality cannot help but be deteriorated.

The present invention can also be provided as a program that permits acomputer to perform predetermined functions. These functions include: adrawing command analysis function, for receiving a drawing command anddetecting an area where drawing has occurred; an area calculationfunction, for calculating an area to be transmitted; and an area controlfunction, for outputting, based on the obtained area to be transmitted,outputting control data that is provided for a controller that readsimage data from a frame memory and transmits the image data.

The present invention can also be provided as a program that permits acomputer to perform: a function for reading, from a display area in aframe memory, image data for a rectangular area including an area thatis changed in accordance with a drawing command; a function for reading,from an undisplayed area in the frame memory, header data that includespositional information for the rectangular area; and a function forsynthesizing image data, read from the display area, and header data,read from the undisplayed area, and outputting the resultant image data.

These computer program can be transmitted by a program transmissionapparatus, via a network, to a PC, which is an image data transmissionapparatus. This program transmission apparatus can comprise: storagemeans, such as a CD-ROM, a DVD, a memory or a hard disk, for storing theabove program; and transmission means, for reading the program from thestorage means, and for transmitting the program to the apparatus thatexecutes the program, via a connector and a network, such as theInternet or a LAN.

The above described computer program can be provided directly to a PC byusing a storage medium, such as a CD-ROM or a DVD. The computer-readableprogram need only be stored on the storage medium.

BRIEF DESCRIPTION OF THE DRAWINGS

The preferred embodiment of the present invention will now be describedin detail while referring to the accompanying drawings.

FIG. 1 is a diagram for explaining the overall configuration of an imagedisplay system according to one embodiment of the invention.

FIG. 2 is a flowchart showing the main processing performed by the imagedisplay system according to the embodiment.

FIG. 3 is a diagram for explaining a drawing command analysis deviceaccording to the embodiment.

FIG. 4 is a flowchart showing the processing performed by a drawingcommand analysis unit.

FIG. 5 is a flowchart showing the processing performed by a transmissiontarget area controller.

FIG. 6 is a block diagram showing the arrangement of a packet receptiondevice in a receiving monitor.

FIGS. 7A to 7C are diagrams for explaining a packet data generationmethod.

FIGS. 8A and 8B are flowcharts showing the packet data generationprocessing.

FIG. 9 is a diagram showing an example header format for a packet.

FIGS. 10A and 10B are diagrams for explaining a method for determiningan area to be transmitted.

FIG. 1 is a diagram for explaining the general configuration of an imagedisplay system according to one embodiment of the invention. The imagedisplay system of the embodiment comprises: an image data transmissiondevice 10, which serves as a host (transmission source), a PC; and areceiving monitor 40, an image display device. The transmission device10 and the receiving monitor 40 are connected by a conventional monitorcable 39, a digital monitor cable, such as a DVI (Digital VisualInterface). The transmission device 10 and the receiving monitor 40 maybe provided as separate units and be connected by an external monitorcable 39, or may be incorporated in a single unit that constitutes acomputer or an image display device.

As a common PC, the transmission device 10 includes a central processingunit, a memory and an HDD (none of them shown). In addition, thetransmission device 10 includes an OS/application 11, which is an OS(Operating System) or an application usually employed by a PC; agraphics card 12, which is a common hardware component; and a drawingcommand analysis device 20 that is the feature of this embodiment. Onefunction of the transmission device 10 in this embodiment is theextraction of an area that has been changed, while another is thetransmission of header data that includes data pertinent to the changedarea and data for image control.

The OS/application 11 outputs, to the drawing command analysis device20, an interrupt signal and a drawing command, which is constituted by adrawing API (Application Program Interface), while the drawing commandanalysis device 20 analyzes the received drawing command. The graphicscard 12 outputs, to the drawing command analysis device 20, an interruptsignal based on a vertical synchronization signal (VSYNC). Further, thedrawing command analysis device 20 outputs, to the graphics card 12, adrawing command, and a control command that is constituted bypredetermined control data. Upon receiving these commands, the graphicscard 12 transmits image data to the receiving monitor 40.

The graphics card 12 includes a frame memory 13 for which drawing isperformed, a hardware panning function 14 and a hardware cursor function15. The hardware panning function 14 employed in this embodimentinitially displays a virtual display screen that is larger in size thanthe available display of a monitor, and extracts the location of a mousecursor as a starting point. That is, the hardware panning function 14determines an area of the frame memory 13 to be output, and based on acommand issued by the drawing command analysis device 20, each time avertical synchronization signal is received the hardware panningfunction 14 changes the setting of a CRTC that controls the area data(the starting position, the size, etc.) to be transmitted and outputsonly a desired rectangular area. The timing for changing the area neednot always match the vertical synchronization, and this change can beperformed upon the reception of a horizontal synchronization signal oranother interrupt signal.

The hardware cursor function 15 stores cursor data in the undisplayedarea of the frame memory 13 and, when a CRTC (CRT controller) readsimage data from the frame memory 13, synthesizes image data and cursordata and outputs the resultant data. In this embodiment, based on acommand from the drawing command analysis device 20, header data iswritten instead of cursor image data, and as a result, a header isincluded in an image received by the reception monitor 40. The data inthe frame memory 13, however, need not be altered, and software is usedto display the cursor.

The receiving monitor 40 includes a panel 41, a large, high-resolutionpanel, such as a QUXGA panel, and a packet reception device 50 forreceiving image data from the transmission device 10 via the monitorcable 39. The packet reception device 50 outputs, to the panel 41,raster image data obtained by conversion. The receiving monitor 40 usedfor this embodiment, a monitor having a large, high-resolution panel,has as one function the analyzation of the control data added to thereceived data, and as another function, the display of images on apanel.

In FIG. 2, the flowchart showing the main processing performed by theimage display system of this embodiment is provided in order make iteasy to understand the embodiment. First, the transmission device 10 fortransmitting an image detects an area wherein drawing has occurred (step101). The transmission device 10 then employs the detected area tocalculate a rectangular area to be transmitted (step 102). Thereafter,the transmission device 10 adds control data (the position, the size,etc.) describing a rectangle as a header to the packet, and transmitsthe resultant packet (step 103). The receiving monitor 40 receives thepacket, and extracts control data from the packet (step 104). Then, theextracted control data is employed to update data in the frame memory ofthe receiving monitor 40 (step 105). Thereafter, the image is displayedon the panel 41 (step 106). An explanation will now be given for theconfiguration used for this embodiment to perform this processingsequence.

FIG. 3 is a diagram for explaining the drawing command analysis device20 in this embodiment. The drawing command analysis device 20 isinstalled, for example, as a software module in the transmission device10, and is executed by using the hardware resources of the transmissiondevice 10. In this embodiment, the drawing command analysis device 20includes a drawing command analysis unit 21, for analyzing a drawingcommand (drawing API) received from the OS/application 11, and for,based on the analysis results, calculating the drawing position of theframe memory 13; and a drawing data DB (database) 22 for storing drawingdata received from the drawing command analysis unit 21. The drawingcommand analysis device 20 further includes a transmission target areacontroller 23 for obtaining drawing data from the drawing data DB 22once an interrupt signal has been received, and for calculating controldata for the CRTC (CRT controller). The control data obtained by thetransmission target area controller 23 is transmitted to a graphicsdevice driver 24, and predetermined data is fed back to the drawing dataDB 22. Based on the various data that are received, the graphics devicedriver 24 transmits a drawing command and control data to the graphicscard 12.

The graphics card 12 includes a drawing engine 17, for receiving adrawing command from the graphics device driver 24 and for performingdrawing in the frame memory 13; and a CRTC 18, for reading image datafrom the frame memory 13, and for controlling area data to betransmitted to the receiving monitor 40. For these arrangements, thegraphics card 12 receives a drawing command and control data from thegraphics device driver 24, and carries out the hardware panning function14 and the hardware cursor function 15.

FIG. 4 is a flowchart showing the processing performed by the drawingcommand analysis unit 21 explained while referring to FIG. 3. A drawingAPI, which is a drawing command, is received (step 201), and the drawingcommand analysis unit 21 sorts the types of drawing commands (step 202).When the drawing command is a command, such as an initial command, thatis not directly related to drawing, the process at this step need not beperformed, and the entire processing sequence is terminated (step 206).When the drawing command is a command directly related to drawing, acheck is performed to determine whether a change on the screen hasoccurred that is attributable to drawing (step 203). When no change hasoccurred on the screen, new drawing data need not be calculated and theprocessing is terminated (step 206). When a change has occurred on thescreen, a change area is calculated (step 204). Thereafter, the drawingdata is transmitted to the drawing data DB 22 (step 205), and theprocessing of the drawing command analysis unit 21 is terminated (step206). The drawing data transmitted to the drawing data DB 22 at step 205can be information, for example, concerning the coordinates of the upperleft corner of a rectangle that includes a drawing figure andinformation for the size of the figure. The coordinate informationconcerning the upper let corner of a rectangle and other information canbe employed as the drawing data. Further, when the size of image data isso large it can not be drawn at one time, the drawing data can beinformation for an area to be/not yet to be transmitted.

FIG. 5 is a flowchart showing the processing performed by thetransmission target area controller 23 explained while referring to FIG.3. The transmission target area controller 23 starts the processing uponreceiving an interrupt signal (step 301). This interrupt signal is, forexample, a timing interrupt/input interrupt signal output by theOS/application 11, or a horizontal sync signal (HSYNC) or a verticalsynchronization signal (VSYNC) output by the graphic card 12. Thetransmission target area controller 23 obtains drawing data from thedrawing data DB 22 (step 302), and calculates a rectangular area to betransmitted (step 303). In this calculation, for example, a rectangulararea including multiple areas that are not yet transmitted. A check isperformed to determine whether the entire rectangular area can betransmitted at one time (step 304). When this is not possible, this areais subdivided (step 305), and program control returns to step 303 forthe calculation of a rectangular area to be transmitted. That is, inthis embodiment, when the size of a rectangle to be transmitted exceedsthe display size enabled by using the CRTC 18, or exceeds thetransmission size enabled due to the band width of the monitor cable 39,a rectangular area that can not in its entirety be transmitted at onetime is subdivided.

When it is ascertained at step 304 that the entire rectangular area canbe transmitted at one time, CRTC control data is generated andtransmitted to the graphics device driver 24 (step 306). At this time,the CRTC control data may include hardware cursor control data.Information such as that related to the transmission/non-transmission ofan area, which is applicable to the area to be transmitted and which isobtained as a result of the calculation performed for the CRTC controldata, is fed back to the drawing data DB 22 (step 307). Thereafter, theprocessing performed by the transmission target area controller 23 isterminated (step 308).

FIG. 6 is a block diagram showing the configuration of the packetreception device 50 in the receiving monitor 40. As is shown in FIG. 6,the packet reception device 50 includes: a packet analysis unit 51, forseparating, into header data and other data, a packet that is receivedfrom the transmission device 10 via the monitor cable 39; a headeranalysis unit 52, for receiving header data obtained by the packetanalysis unit 51 and for obtaining (identifying) the location in theframe memory 53 whereat the image data portion is to be written; and aframe memory 53, for writing image data based on address (location)information obtained from the header analysis unit 52; and a panelcontroller 54, for reading image data from the frame memory 53, and fortransmitting the image data as raster image data to the panel 41.

An explanation will now be given for packet data to be exchanged, and amethod for generating this packet data.

FIGS. 7A to 7C are diagrams for explaining a packet data generationmethod. In FIG. 7A, the configuration of the frame memory 13 for thegraphics card 12 of the transmission device 10 is shown. The framememory 13 has a displayed area 13-1 and an undisplayed area 13-2. When,for example, the size allocated for the frame memory is 64 M bytes andthe display area 13-1 wherein screen data are stored is 36 M bytes, theremaining undisplayed area 13-2 is 28 M bytes. In the displayed area13-1, a rectangle is drawn that includes an area that was changed by thedrawing data obtained by the drawing command analysis device 20. In theundisplayed area 13-2, header data is written. In FIG. 7B, the scanningstart location of the frame memory 13 is moved forward at distanceequivalent to one line, and the hardware cursor is positioned at theupper left of the original rectangle. In FIG. 7C, a packet is obtainedby the image and the header in the frame memory 13.

FIGS. 8A and 8B are flowcharts showing the processing performed togenerate packet data. In FIG. 8A, the processing performed at theinitial setting is shown, and in FIG. 8B, the processing performed forpacket generation is shown.

At the initial setting, as is shown in FIG. 8A, first, an area in theframe memory 13 is obtained that is larger than necessary by theequivalent of one line (step 401). Initially, the hardware cursorfunction 15 is so set that it is valid for the graphics card 12, andinvalid for the OS/application 11 (step 402). That is, at the initialsetting, the OS/application 11 is notified that its use of the hardwarecursor function 15 has been inhibited, and the hardware cursor function15 is actually used by the graphics card 12.

During the generation of a packet, as is shown in FIG. 8B, first, thecoordinate at the upper left corner of the area that was changed bydrawing, and information that includes the width and height of thechanged area are generated as one line of header data (step 411, see 0in FIG. 7). Then, the header data is written to an area in the framememory 13 wherein the hardware cursor data is stored (step 412, see , inFIG. 7). A control command for setting the hardware cursor at the headlocation (0, 1) of the area is transmitted to the graphics card 12 (step413, see f in FIG. 7). The CRTC 18 is programmed so as to start scanningat a position preceding the changed area by one line (step 414, see ,,in FIG. 7). Thereafter, the scanning of the CRTC 18 is started (step415), and the hardware cursor function 15 synthesizes the header dataand the image data in the frame memory 13 (step 416, see . . . in FIG.7).

FIG. 9 is a diagram showing an example header format for a packet. Thepacket header in this embodiment has a length, for example, of 64 bitsand is converted into monochrome data having 64 pixels, which aretransmitted with the image data by using the hardware cursor function15. The number of bits used for one pixel varies, depending on thedisplay mode, and in a full color mode (32 bit RGB), for example, onepixel is 32 bits. In this embodiment, header bit “0” corresponds toblack (“0000000000000000b” for 16 bit RGB), and header bit “1”corresponds to white (“1111111111111111b” for 16 bit RGB). Since thethus transmitted header data is redundant, when the receiving monitor 40makes a majority decision, very high error resistance can be obtainedcompared with the other image portions. Further, with this method,predetermined data for 64 pixels is still maintained even when thedisplay mode is changed, while the bit length is changed to represent asingle pixel and multiple display modes can be consistently coped with.

As is shown in FIG. 9, the major components constituting the header of apacket are a protocol ID, and the location (coordinates at a left endpoint) of a rectangle to be transmitted and the width and the height ofthat rectangle. In the example in FIG. 9, the header begins at bit 0,while the data portion that follows begins at bit 64. In Protocol Type(ProType), seven bits are used to store the protocol type and theversion, and in Packet Type (PacType), one bit is used to designateeither a video data packet or a command packet. As the location of therectangle to be transmitted, the X and Y coordinates of the origin ofthe rectangle (image starting point) are respectively stored in XPOS andYPOS, 15 bits each, while the unit in the field for the XY coordinatesof the origin is stored in XY Resolution, one bit, the width and heightof the rectangle are stored in WIDTH and HEIGHT, eight bits each, andthe unit in the field for the width and height of the rectangle isstored in WH Resolution, one bit. An additional eight bits are providedin Reserved. An area for storing hardware cursor data may also bewritten in the header of a packet to be transmitted.

An explanation will now be given for a method according to theembodiment for determining an area to be transmitted.

In the drawing command analysis unit 20 explained while referring toFIG. 3, the transmission target area controller 23 determines whichchange area included in a list stored in the drawing data DB 22 is to betransmitted. However, since this change area determination greatlyaffects the quality of the image displayed on the panel 41, in thisembodiment roughly two concepts, “collective transmission of drawingresults” and “change in transmission order based on display prioritylevels”, are employed to determine which area is to be transmitted.

FIGS. 10A and 10B are diagrams for explaining the method used todetermine which area is to be transmitted. In FIG. 10A, a collectivetransmission is shown, and in FIG. 10B, a change in the transmissionorder based on display priority levels is shown. For the “collectivetransmission of drawing results”, as is shown in FIG. 10A, multipleareas (64 to 66) changed in accordance with a drawing command aretransmitted as a single area 63 during a period extending from a firstCRTC setting changeable time 61 to a second CRTC setting changeable time62. The CRTC setting changeable times 61 and 62 are periods reflectingsetting changes for the CRTC 18 as its scan area is changed. Generally,CRTC programming for determining an area to be transmitted can beperformed only within a limited timing period, such as between verticalsynchronization processes. Therefore, instead of transmitting an areaeach time a drawing command is received, “collective transmission ofdrawing results” is employed in order to minimize the frequency at whichCRTC programming is performed, and to thus improve the overallperformance of a system. In the example in FIG. 10A, instead oftransmitting only the area 64 or the area 65, collective transmission isemployed to transmit all the areas, including the area 66, that arechanged during the display of one frame.

In addition, in “change in transmission order based on display prioritylevels”, display priority levels are assigned based on thecharacteristics of changed areas (in FIG. 10B, an area 71 having a highdisplay priority level and an area 72 having a low display prioritylevel), and the transmission order is then determined. An area 73 thatincludes, for example, a moving picture frame is an area that has anextremely high change frequency and that a user concentrates on. On theother hand, an area 76 wherein time information, for example, isdisplayed and that is separate from the area having a high changefrequency tends to be less important. As is described above, displayimportance levels are provided for individual change areas in accordancewith the current drawing condition and the characteristics of anapplication. In the example in FIG. 10B, relative to the display area 70on the panel 41, the change area 71, which includes the areas 73 to 75,is assigned a high display priority level in accordance with itscharacteristics, and the change area 72, which includes the area 76, isassigned a low display priority level in accordance with itscharacteristics. Therefore, in FIG. 10B, 3 (area 74) and 4 (area 75),which were received after 2 (area 76), are transmitted first. In thismanner, through the processing performed to change the transmissionorder based on the display importance levels, the overhead related tothe updating of the CRTC 18 can be reduced.

To provide display priority levels for rectangles, for example, thathave not yet been drawn,

a high priority level is provided for an older rectangle;

a high priority level is provided for an area wherein drawing is themost concentrated;

a high priority level is provided for an area wherein the location of amouse cursor is positioned at the center; and

a high priority level is provided for an area wherein an active windowis displayed.

When a high priority level is provided for an area that it is assumed auser will concentrate on, an appropriate display for meaningful drawingcan be presented.

In addition, in this embodiment, as the transfer order is changed basedon the display priority levels, a process for using a slow refresh modeis performed. This full-screen updating mode is a method that differsfrom a normal method (called as a normal mode) in which an area that isdrawn in accordance with the drawing command is dynamically detected andthe CRTC 18 is set. That is, regardless of whether a drawing command isissued, the CRTC 18 is set so that periodically a full screen issubdivided into multiple segments and transmitted. For example, when adrawing command has not been issued and there is no change area on ascreen, or at an appropriate time interval (e.g., 10 seconds) that isset in advance, even when there is a change area on the screen thenormal mode is temporarily changed to the full-screen update mode and afull screen is transmitted.

Generally, when a communication error has occurred, this information isnot transmitted to the transmission device 10 unless a considerably longtime has elapsed and incorrect information has been displayed for anextended period of time. Because of a characteristic of the monitorcable 39, the communication band width for a transmission by thereceiving monitor 40 to the transmission device 10 is extremely smalland the communication speed is also extremely low. As a result, it isnot practical to constantly wait to receive transfer result feedbackfrom the receiving monitor 40. Therefore, a system is required that cancorrect an error without depending on feedback from the receivingmonitor 40. In many cases, especially when the period a received imagehas been displayed is unknown at the time of transmission, a system isrequired that will permit the resolution of a transfer error for animage that has been displayed for only a short period of time as well asthe resolution of a transfer error for an image that has been displayedfor an extended period of time.

In this embodiment, in the processing for the full-screen update made,transfer errors more or less occur for images that are constantlychanged and are displayed only for short periods of time, while most ofthe errors that occur can be resolved for an image that is displayed foran extended period of time. In addition, in an environment, such as onewherein the noise level is very high, when the error rate exceeds apredetermined value, the mode is changed to the full-screen update mode,so that a communication error can be resolved.

A detailed explanation will now be given for a method that uses thechange area list to determine which area is to be transmitted.

The following methods, which can be employed separately or which can becombined for use, are available for determining an area to betransmitted.

1. One rectangular area, which currently includes all the drawing areasthat have not yet been transmitted, is determined to be the area that isto be transmitted next. When this area is so large that all of it cannot be transmitted at one time, it is subdivided to provide multiplesegments for subsequent transmission.

2. An area selected for transmission is one that it has been determinedwill enclose the oldest drawn area (e.g., located in the center, theupper left or the upper right), and each time such an area istransmitted, a list of the areas that have not yet been transmitted isupdated.

3. An area selected for transmission is one that it has been determinedwill enclose the latest drawn area, and as each such area istransmitted, a list of the areas that have not yet been transmitted isupdated.

However, if after a specific time following the drawing of an area anarea to be transmitted has still not been transmitted, the transmissionof this area is performed first.

4. For a system having a full-screen updating mode, transmission in thenormal mode is not performed for an area having a low priority leveluntil the mode is automatically switched to the full-screen update modeand, it is assumed, the transmission of the changed area is completedduring the full-screen updating process.

5. The area wherein the most drawing areas are collected is transmitted.

6. An area wherein the location of the mouse cursor is defined as thecenter is transmitted first.

7. An area wherein an active window is arranged is transmitted first(Window manager cooperation is required).

8. The full screen is subdivided and the obtained screen segments aretransmitted constantly, regardless of the presence of drawing areas.

A system having a full-screen update mode must be studied to determine apredetermined time interval for the switching of modes. Generally, thetime interval whereat the mode change occurs is obtained by dynamicallyor statically determining the following items:

the rate whereat errors occur along the transfer path,

the size of the panel 41,

the size of the screen that the CRTC 18 can scan at one time,

the characteristics (the drawing size and the image updating frequency)of an application that is currently being executed.

This time interval is extended to accommodate the size of a movingpicture that can be displayed without moving the CRTC 18. However, for aprocess such as photo retouching, for which static images are mainlydisplayed, and for the presentation, using a full screen, of an imagethat closely corresponds in size to an entire static image, the timeinterval is extremely short. Further, a system provided for anothercomponent may correct this time interval. When, for example, thefull-screen update mode is used to update a changed area having a lowtransmission priority level, the time interval set for changing the modemust be shorter than the normal interval.

While employing this arrangement in this embodiment, various problemswere studied.

As a first problem, for the transmission of a rectangular image and aheader, only specific rectangular information and specific commands needbe transmitted by the transmission device 10 to the receiving monitor40. This function, however, must be carried out without any changes inthe conventional graphics card 12, and in this embodiment, only atargeted rectangular area can be output using the hardware panningfunction 14.

As a second problem, to synchronize a header with an image, imagecontrol data must be embedded as a header in image data. At this time,it is preferable that the system overhead be removed without reducingimage quality, and that a large, additional investment not be required.

As a general solution using software, one method provides for thedevelopment of header data in advance inside, or in the vicinity, of anarea in the frame memory 13 that is to be transmitted, and fortransmitting the header data with the image data. As an example method,header data is written in front of and separated by the equivalent ofone line from an area to be transmitted, so one extra line is added to arectangular area that is transmitted. With this method, a process isrequired for storing the original image before the header data iswritten, and for returning the data to their original location after theimage transmission has been completed. Since during this process thewriting of the header data and the writing and the transmission of thedrawing engine 17 must be exclusively allocated for use by the framememory 13, a large overhead is built up. Thus, when the system of theinvention is employed, drawing time or data transmission time must beshortened considerably, which can drastically deteriorate the quality ofthe image displayed on a monitor.

Another method for resolving the synchronization problem provides forthe preparation of special hardware having a function that can easilyperform the header/image synchronization process while using an OS or adriver. However, since this method would require that extensivealterations be made by graphics card vendors, it is not a practicalsolution.

In this embodiment, since the hardware cursor function 15 is useddifferently from originally intended, alteration of data in the framememory 13 is not required, and the header/image synchronization problemcan be resolved without any special hardware being required.

As a third problem, an increase in overhead occurs when an area to betransmitted is changed. As an example corrective method, an order cansimply be issued for the use of a drawing command, and this area change(CRTC programming) will be performed for each image that is drawn. Whenthis method is used, however, the processing time is increased, and asatisfactory frame rate cannot be obtained.

Therefore, as a solution in this embodiment, upon receiving individualdrawing commands, the drawing command received by the graphics devicedriver 24 is hooked, and an area that is affected by this command iscalculated and information concerning this area is stored. For example,the logical sum of circumscribed rectangles in the drawing areadesignated by each drawing command or the circumscribed rectangles arestored. Then, at a periodical timing that is triggered by a verticalsynchronization signal interrupt or a timer, the optimal position of theCRTC 18 is determined based on the stored data, and a correlatedregister is set.

As a result, several drawing results need not be transmitted separatelyand can be transmitted as a single rectangle, while the increasedoverhead produced when the CRTC 18 is programmed can be reduced.

As a fourth problem, the drawing process performed by the drawing engine17 and the transmission process performed by the CRTC programming mustbe synchronized. The drawing command analysis device 20 detects adrawing command that the OS/application 11 issues, and specifies achanged area. The drawing command is then transmitted to the drawingengine 17 of the graphics card 12, and drawing is performed in the framememory 13. At this time, since normally there is no way to determinewhen the drawing engine 17 has completed the drawing, before the drawinghas been completed the system will perform the CRTC programming and animage from a specified area will be transmitted. However, in this case,only a meaningless image is transmitted.

To solve this problem, in this embodiment, the drawing command analysisdevice 20 detects a drawing command, and at the same time, permits thedrawing engine 17 to write a sequence number to an undisplayed areaprepared in the frame memory 13. Thereafter, the sequence number of thepertinent area is read from the frame memory 13, and how far the drawingcommand queue that was issued has been processed can be determined. As aresult, transmissions are performed only within a range wherein drawinghas been completed.

As is described in detail, in this embodiment, an image display systemis provided that comprises: the transmission device 10, which extracts achanged area and transmits data for this area and header data thatincludes image control data; and the receiving monitor 40, whichincludes the frame memory 53 and which analyzes and displays a receivedimage, and that basically performs a delta transmission. With thissystem, while an investment, such as the addition of a graphics card 12,is not required for the transmission device 10, which is a conventionalPC, only an extremely small change need be added to drive, with alimited transfer bandwidth, the panel 41, which is a large,high-resolution monitor.

In this embodiment, a transmission area selection method is adopted thatemploys the hardware panning function 14 used for a conventionalgraphics card 12, and the hardware cursor function 15 is used to embedthe header data. Further, a collective transmission method is used tocope with multiple changed areas in order to reduce the increase in theoverhead that occurs as a result of the panning area being changed. Inaddition, synchronization of the drawing data and the data in an area tobe transmitted is accomplished by using a signature that is written tothe undisplayed area of the frame memory 13 on the transmission device10. Thus, transfer efficiency and display quality can be considerablyincreased.

Furthermore, in this embodiment, a refresh mode for repetitivelytransmitting the same screen is prepared in addition to the normal modefor transmitting only a rectangular portion wherein drawing isperformed. And communication error control between the transmissiondevice 10 and the receiving monitor 40 is implemented by switching fromthe normal mode to the refresh mode under a specific condition, such asone wherein the operation is not performed in the current mode for aspecific period of time. Since this communication error control isexercised, the conventional image quality problem of a system thatperforms a delta transmission is resolved. As a result, a QXGA size orlarger, high quality image can be displayed while employing a limitedcommunication path (e.g., a single monitor cable 39).

Moreover, in this embodiment, the power consumption of the receivingmonitor 40 can be reduced compared with a conventional display system,and the system of this embodiment is also advantageous when applied fora mobile terminal, or for the simultaneous use of multiple panels by anapparatus such as a multi-display device. Further, when no transmissionerrors occur or while no drawing is being performed, the communicationrelated portion in the circuit associated with the monitor cable 39 ispowered off, so that power consumption is further reduced.

As is described above, according to the present invention, a large,high-resolution monitor (panel) can be driven merely by adding anextremely small change to a conventional system.

1. An image display device for displaying image to a panel upon receiving a packet from transmission apparatus comprising: a packet analysis unit, for extracting header data from a received packet; a header analysis unit, for identifying, based on said header data extracted from said packet analysis unit, the location of a frame memory whereat image data is written; and a panel controller, for reading said image data from said frame memory, and for displaying said image data on a panel at a location obtained by the analyzation.
 2. The image display device according to claim 1, wherein said header data includes data for a scanning start point in a rectangular area in said frame memory wherein images are drawn.
 3. The image display device according to claim 1, wherein said panel is a high-resolution panel such that, when raster image data is to be displayed, the data transfer capacity of a cable along which a packet is transmitted, by said image data transmission apparatus, is exceeded, so that the display quality must be reduced. 